package de.rotkiv.playlistgenerator.generator;

import java.util.List;

import de.rotkiv.common.filefilter.FileFilterGeneric;
import de.rotkiv.common.properties.profile.ProfileBean;
import de.rotkiv.playlistgenerator.logger.IF_StatusLogging;
import de.rotkiv.playlistgenerator.scanner.RecursiveMp3TagScanner;


/**
 * Reines Bean-Objekt zum Halten von Daten inkl. Setter/Getter
 * @author Vik
 *
 */
public class CustParmsBean {


	private RecursiveMp3TagScanner maps4Relative;
	private String inputPath;
	private String outputPath;
	private String relativPath;
	private Long filePointer;
	private List<String> inputList;
	private List<String> fileNames;
	private FileFilterGeneric fileFilter;
	private IF_StatusLogging logger;

	private int counterCreatedDirs;
	private int countAudioFiles;
	private int countCreatedPlaylists;

	private ProfileBean profile;


	/** Relative Generierung von Playlisten bezogen des Output-Pfades auf Input-Pfad
	 * @true  = relativer Pfad
	 * @false = absoluter Pfad
	 */
	private boolean generateRekursiv = true;








	public int getCounterCreatedDirs() {
		return counterCreatedDirs;
	}
	public void incrementCounterCreatedDirs() {
		counterCreatedDirs++;
	}
	public int getCountAudioFiles() {
		return countAudioFiles;
	}
	public void incrementCountAudioFiles() {
		countAudioFiles++;
	}
	public int getCountCreatedPlaylists() {
		return countCreatedPlaylists;
	}
	public void incrementCountCreatedPlaylists() {
		countCreatedPlaylists++;
	}


	public IF_StatusLogging getLogger() {
		return logger;
	}
	public void setLogger(IF_StatusLogging logger) {
		this.logger = logger;
	}
	public FileFilterGeneric getFileFilter() {
		return fileFilter;
	}
	public void setFileFilter(FileFilterGeneric fileFilter) {
		this.fileFilter = fileFilter;
	}
	public String getRelativPath() {
		return relativPath;
	}
	public void setRelativPath(String relativPath) {
		this.relativPath = relativPath;
	}
	public RecursiveMp3TagScanner getMaps4Relative() {
		return maps4Relative;
	}
	public void setMaps4Relative(RecursiveMp3TagScanner maps4Relative) {
		this.maps4Relative = maps4Relative;
	}
	public String getInputPath() {
		return inputPath;
	}
	public void setInputPath(String inputPath) {
		this.inputPath = inputPath;
	}
	public String getOutputPath() {
		return outputPath;
	}
	public void setOutputPath(String outputPath) {
		this.outputPath = outputPath;
	}
	public Long getFilePointer() {
		return filePointer;
	}
	public void setFilePointer(Long filePointer) {
		this.filePointer = filePointer;
	}
	public List<String> getInputList() {
		return inputList;
	}
	public void setInputList(List<String> inputList) {
		this.inputList = inputList;
	}
	public List<String> getFileNames() {
		return fileNames;
	}
	public void setFileNames(List<String> fileNames) {
		this.fileNames = fileNames;
	}


	public boolean isGenerateRekursiv() {
		return generateRekursiv;
	}

	/**
	 * @param generateRekursiv the generateRekursiv to set
	 */
	public void setGenerateRekursiv(boolean generateRekursiv) {
		this.generateRekursiv = generateRekursiv;
	}
	/**
	 * @return the profile
	 */
	public ProfileBean getProfile() {
		return profile;
	}
	/**
	 * @param profile the profile to set
	 */
	public void setProfile(ProfileBean profile) {
		this.profile = profile;
	}

}
